/*
 *  KeypadKeyMapper.h
 *  Dictionary
 *
 *  Created by Rune Laugesen on 21/09/10.
 *  Copyright 2010 Copenhagen University. All rights reserved.
 *
 */

#ifndef Dictionary_KeypadKeyMapper_h
#define Dictionary_KeypadKeyMapper_h

#include "KeyMapper.h"

using namespace std;

class KeypadKeyMapper : public KeyMapper
{
private:
    multimap<string, string> _mappedDictionary;
    
    void BuildAlphabet(void);
    vector<string> GetMatchedMappings(string prefixkeys);
    vector<string> GetNextBestMappings(string keys, int startkey);
    string StringToKeys(string typeString);
public:
    KeypadKeyMapper();
    void MapDictionary();    
    vector<string> GetMappings(string word);
};

#endif